home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / m4-1_0_3.lha / m4-1.0.3 / examples / hanoi.m4 < prev    next >
Text File  |  1991-01-30  |  374b  |  16 lines

  1. divert(-1)
  2.  
  3. # move(from, to)
  4. define(`move', `Move one disk from `$1' to `$2'.
  5. ')
  6.  
  7. # _hanoi (cnt, from, to, aux)
  8. define(`_hanoi', `ifelse(eval(`$1'<=1), 1, `move($2, $3)',
  9. `_hanoi(decr($1), $2, $4, $3)move($2, $3)_hanoi(decr($1), $4, $3, $2)')')
  10.  
  11. # hanoi (cnt)
  12. define(`hanoi', `_hanoi(`$1', source, destination, auxilliary)')
  13.  
  14. # traceon(`move', `_hanoi', `decr')
  15. divert`'dnl
  16.